문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 소스 코드 (문단 편집) == [[오픈 소스]] == 상용 프로그램이 아닌 공개 프로그램 중에는, 실행파일(바이너리)뿐만 아니라 소스 코드까지 함께 다운로드할 수 있게 해놓은 경우도 많다. 그런데 다운로드 페이지를 좀 유심히 살펴봤다면, 바이너리는 윈도 PC용, 매킨토시용 등 OS별로 구분되어 있는 데 반해 소스 코드는 OS 구분 없이 하나만 있을수도 있고 OS별로 있을수도 있다. OS구분없이 하나의 파일에 있는 소스 코드는 OS 종류에 관계없이 각 OS 실행 바이너리 제작에 이용할 수 있기 때문이다. 단, 해당 프로그램이 OS 의존성이나 하드웨어 의존성이 낮은 경우에 한한다. 제아무리 소스 코드를 공개해놨다고 하더라도 윈도우용 디바이스 드라이버 소스 코드를 리눅스에서 컴파일해 쓸 순 없다. 공개 프로그램 중에는 다른 사용자/개발자들이 소스 코드를 들여다보고 연구 개발을 하는 것을 권장하기 위해 소스 코드를 공개하는 경우도 많다. 함께 힘을 합쳐 더 좋은 프로그램을 만들자는 초청 같은 것인데, 이렇게 공개(오픈)된 소스 코드를 갖는 프로그램을 [[오픈 소스]] 프로그램이라 부른다. 상용 프로그램 중에는 일부, 혹은 전부를 오픈 소스로 공개하는 경우도 있으나, 대부분은 오픈 소스가 아니다. 오픈은 커녕 [[영업비밀]]로 철저히 감춰지는 경우가 대부분이다.[* 그래서 해당 소스가 일부라도 유출되어서 사용되었을 경우 [[너 고소]]를 당할 수 있다. 이런 것들은 오픈 소스에 대비해서 클로즈드 소스라고 부른다.] [[리버스 엔지니어링|소스 코드 없이 바이너리 파일만으로 프로그램의 설계를 유추해내는 것]]은 귀찮고 까다로운 일이다.[* 2018년 현재는 디컴파일러가 많이 발전해서 바이너리로부터 소스 코드를 복원하는 게 크게 어렵진 않다. 특히 Java의 경우 거의 소스 코드 그대로 나와버리며 C로 만든 바이너리도 오픈 소스 라이브러리를 많이 땡겨쓴 경우 절반 이상 소스 코드가 복원돼 나온다.][* 단, 자바나 닷넷은 기계어 바이너리를 생성하지 않고 중간형태의 [[바이트코드]] 형태로 만들어서 이를 읽어 실행하기 때문에 리버스 엔지니어링에 비해서 비교적 간단하고 복원율이 높다.] 그래서 간혹가다 인디 게임이나 프로그램에서 포맷/바이러스 따위 때문에 소스 코드를 잃어버려서 개발/업데이트를 못한다는 말이 간간히 보인다. 물론 [[프리서버]]처럼(불법이기는 하지만) 기존 소스 코드에 기대지 않고 처음부터 다시 프로그래밍하여 기능을 복제하는 경우도 있기는 하다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기